[INFO] cloning repository https://github.com/hongda3141/substrate_advance_lesson5
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hongda3141/substrate_advance_lesson5" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhongda3141%2Fsubstrate_advance_lesson5", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhongda3141%2Fsubstrate_advance_lesson5'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7824952950a836c2721b39ba14a39165bd1d259c
[INFO] checking hongda3141/substrate_advance_lesson5 against try#a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399 for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhongda3141%2Fsubstrate_advance_lesson5" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hongda3141/substrate_advance_lesson5
[INFO] finished tweaking git repo https://github.com/hongda3141/substrate_advance_lesson5
[INFO] tweaked toml for git repo https://github.com/hongda3141/substrate_advance_lesson5 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hongda3141/substrate_advance_lesson5 on toolchain a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hongda3141/substrate_advance_lesson5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e1e40417ce28dafadbe35b19107fe266bd7d8f4577327bde8cbe3069643fd584
[INFO] running `Command { std: "docker" "start" "-a" "e1e40417ce28dafadbe35b19107fe266bd7d8f4577327bde8cbe3069643fd584", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e1e40417ce28dafadbe35b19107fe266bd7d8f4577327bde8cbe3069643fd584", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1e40417ce28dafadbe35b19107fe266bd7d8f4577327bde8cbe3069643fd584", kill_on_drop: false }`
[INFO] [stdout] e1e40417ce28dafadbe35b19107fe266bd7d8f4577327bde8cbe3069643fd584
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b81e0c1be7b89f507793b5c344d114549e6a56f4b8e5ec6da9dd2179f13f8a21
[INFO] running `Command { std: "docker" "start" "-a" "b81e0c1be7b89f507793b5c344d114549e6a56f4b8e5ec6da9dd2179f13f8a21", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling typenum v1.15.0
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling radium v0.6.2
[INFO] [stderr]    Compiling libc v0.2.117
[INFO] [stderr]    Compiling subtle v2.4.1
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.6
[INFO] [stderr]    Compiling semver v1.0.4
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking wyz v0.2.0
[INFO] [stderr]     Checking funty v1.1.0
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]    Compiling cc v1.0.72
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.6
[INFO] [stderr]    Compiling generic-array v0.14.5
[INFO] [stderr]     Checking byte-slice-cast v1.2.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking ink_prelude v3.0.0-rc8
[INFO] [stderr]    Compiling serde_json v1.0.78
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking bitvec v0.20.4
[INFO] [stderr]     Checking getrandom v0.2.4
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking plotters-backend v0.3.2
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking keccak v0.1.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking arrayref v0.3.6
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]     Checking plotters-svg v0.3.1
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking ink_allocator v3.0.0-rc8
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling paste v1.0.6
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking plotters v0.3.1
[INFO] [stderr]     Checking walkdir v2.3.2
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling crypto-common v0.1.1
[INFO] [stderr]    Compiling libsecp256k1-core v0.3.0
[INFO] [stderr]    Compiling secp256k1-sys v0.4.2
[INFO] [stderr]    Compiling block-buffer v0.10.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling digest v0.10.1
[INFO] [stderr]     Checking radium v0.3.0
[INFO] [stderr]    Compiling blake2 v0.10.2
[INFO] [stderr]     Checking sha3 v0.10.0
[INFO] [stderr]     Checking sha2 v0.10.1
[INFO] [stderr]     Checking base64 v0.13.0
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking bitvec v0.17.4
[INFO] [stderr]     Checking byte-slice-cast v0.3.5
[INFO] [stderr]     Checking array-init v2.0.0
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.3.0
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.3.0
[INFO] [stderr]    Compiling libsecp256k1 v0.7.0
[INFO] [stderr]     Checking secp256k1 v0.21.2
[INFO] [stderr]     Checking criterion-plot v0.4.4
[INFO] [stderr]    Compiling ink_lang_ir v3.0.0-rc8
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.1
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling ink_storage_derive v3.0.0-rc8
[INFO] [stderr]    Compiling scale-info-derive v0.2.1
[INFO] [stderr]    Compiling thiserror v1.0.30
[INFO] [stderr]     Checking impl-serde v0.3.2
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.3.5
[INFO] [stderr]    Compiling proc-macro-crate v1.1.0
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]    Compiling parity-scale-codec-derive v1.2.3
[INFO] [stderr]    Compiling parity-scale-codec-derive v2.3.1
[INFO] [stderr]    Compiling scale-info-derive v1.0.0
[INFO] [stderr]     Checking parity-scale-codec v1.3.7
[INFO] [stderr]     Checking parity-scale-codec v2.3.1
[INFO] [stderr]     Checking scale-info v1.0.0
[INFO] [stderr]    Compiling ink_lang_codegen v3.0.0-rc8
[INFO] [stderr]     Checking ink_primitives v3.0.0-rc8
[INFO] [stderr]     Checking ink_metadata v3.0.0-rc8
[INFO] [stderr]     Checking ink_env v3.0.0-rc8
[INFO] [stderr]     Checking ink_eth_compatibility v3.0.0-rc8
[INFO] [stderr]     Checking ink_storage v3.0.0-rc8
[INFO] [stderr]    Compiling ink_lang_macro v3.0.0-rc8
[INFO] [stderr]     Checking scale-info v0.4.1
[INFO] [stderr]     Checking ink_lang v3.0.0-rc8
[INFO] [stderr]     Checking erc20 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[ink::contract]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `::scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = help: the derive macro `::scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `::scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[ink::contract]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `::scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = help: the derive macro `::scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: this warning originates in the derive macro `::scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | /     pub struct Transfer {
[INFO] [stdout] 20 | |         #[ink(topic)]
[INFO] [stdout] 21 | |         from: AccountId,
[INFO] [stdout] 22 | |         #[ink(topic)]
[INFO] [stdout] 23 | |         to: AccountId,
[INFO] [stdout] 24 | |         value: Balance
[INFO] [stdout] 25 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | /     pub struct Transfer {
[INFO] [stdout] 20 | |         #[ink(topic)]
[INFO] [stdout] 21 | |         from: AccountId,
[INFO] [stdout] 22 | |         #[ink(topic)]
[INFO] [stdout] 23 | |         to: AccountId,
[INFO] [stdout] 24 | |         value: Balance
[INFO] [stdout] 25 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale_info::TypeInfo` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale_info::TypeInfo` may come from an old version of the `scale_info_derive` crate, try updating your dependency with `cargo update -p scale_info_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale_info::TypeInfo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale_info::TypeInfo` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale_info::TypeInfo` may come from an old version of the `scale_info_derive` crate, try updating your dependency with `cargo update -p scale_info_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale_info::TypeInfo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[cfg_attr(feature = "std", derive(scale_info::TypeInfo))]
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale_info::TypeInfo` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale_info::TypeInfo` may come from an old version of the `scale_info_derive` crate, try updating your dependency with `cargo update -p scale_info_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale_info::TypeInfo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     #[derive(Debug, PartialEq, Eq, scale::Encode)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[ink::contract]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `::scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = help: the derive macro `::scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]   = note: this warning originates in the derive macro `::scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]  --> lib.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[ink::contract]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]   = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]   = help: try referring to `::scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]   = help: the derive macro `::scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: this warning originates in the derive macro `::scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | /     pub struct Transfer {
[INFO] [stdout] 20 | |         #[ink(topic)]
[INFO] [stdout] 21 | |         from: AccountId,
[INFO] [stdout] 22 | |         #[ink(topic)]
[INFO] [stdout] 23 | |         to: AccountId,
[INFO] [stdout] 24 | |         value: Balance
[INFO] [stdout] 25 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | /     pub struct Transfer {
[INFO] [stdout] 20 | |         #[ink(topic)]
[INFO] [stdout] 21 | |         from: AccountId,
[INFO] [stdout] 22 | |         #[ink(topic)]
[INFO] [stdout] 23 | |         to: AccountId,
[INFO] [stdout] 24 | |         value: Balance
[INFO] [stdout] 25 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale_info::TypeInfo` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale_info::TypeInfo` may come from an old version of the `scale_info_derive` crate, try updating your dependency with `cargo update -p scale_info_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale_info::TypeInfo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale::Decode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale::Decode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale::Decode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `::scale_info::TypeInfo` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `::scale_info::TypeInfo` may come from an old version of the `scale_info_derive` crate, try updating your dependency with `cargo update -p scale_info_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `::scale_info::TypeInfo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 |     #[cfg_attr(feature = "std", derive(scale_info::TypeInfo))]
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale_info::TypeInfo` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale_info::TypeInfo` may come from an old version of the `scale_info_derive` crate, try updating your dependency with `cargo update -p scale_info_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale_info::TypeInfo` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy`
[INFO] [stdout]   --> lib.rs:27:36
[INFO] [stdout]    |
[INFO] [stdout] 27 |     #[derive(Debug, PartialEq, Eq, scale::Encode)]
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default`, `ink-as-dependency`, `ink_metadata`, `scale-info`, and `std`
[INFO] [stdout]    = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `scale::Encode` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = help: the derive macro `scale::Encode` may come from an old version of the `parity_scale_codec_derive` crate, try updating your dependency with `cargo update -p parity_scale_codec_derive`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the derive macro `scale::Encode` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0276]: impl has stricter requirements than trait
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^ impl has extra requirement `I: Input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_ConstructorDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_ConstructorDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_ConstructorDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `DecodeDispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch`
[INFO] [stdout]     = note: `DecodeDispatch` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_ConstructorDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_ConstructorDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_ConstructorDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout]     = note: required for `<Erc20 as ContractConstructorDecoder>::Type` to implement `DecodeDispatch`
[INFO] [stdout] note: required by a bound in `ink_lang::reflect::ContractConstructorDecoder::Type`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:509:16
[INFO] [stdout]     |
[INFO] [stdout] 509 |     type Type: DecodeDispatch + ExecuteDispatchable;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ required by this bound in `ContractConstructorDecoder::Type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_MessageDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_MessageDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_MessageDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `DecodeDispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch`
[INFO] [stdout]     = note: `DecodeDispatch` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_MessageDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_MessageDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_MessageDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `ink_lang::reflect::ContractMessageDecoder::Type`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:429:16
[INFO] [stdout]     |
[INFO] [stdout] 429 |     type Type: scale::Decode + ExecuteDispatchable;
[INFO] [stdout]     |                ^^^^^^^^^^^^^ required by this bound in `ContractMessageDecoder::Type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0276]: impl has stricter requirements than trait
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^ impl has extra requirement `I: Input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout]     = note: this error originates in the attribute macro `ink::contract` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Encode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::utils::Argument<T>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::ArgumentListEnd, ink_env::call::utils::ArgumentListEnd>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::Argument<Head>, Rest>
[INFO] [stdout]               ink_env::call::ExecutionInput<Args>
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]             and 100 others
[INFO] [stdout]     = note: this error originates in the attribute macro `ink::contract` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_ConstructorDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_ConstructorDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_ConstructorDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `DecodeDispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch`
[INFO] [stdout]     = note: `DecodeDispatch` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_ConstructorDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_ConstructorDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_ConstructorDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout]     = note: required for `<erc20::Erc20 as ContractConstructorDecoder>::Type` to implement `DecodeDispatch`
[INFO] [stdout] note: required by a bound in `ink_lang::reflect::ContractConstructorDecoder::Type`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:509:16
[INFO] [stdout]     |
[INFO] [stdout] 509 |     type Type: DecodeDispatch + ExecuteDispatchable;
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ required by this bound in `ContractConstructorDecoder::Type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Erc20Ref: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:16
[INFO] [stdout]     |
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |                ^^^^^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `Erc20Ref`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |     ---------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `Erc20Ref` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Erc20Ref: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:16
[INFO] [stdout]     |
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |                ^^^^^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `Erc20Ref`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |     ---------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `Erc20Ref` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Encode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::utils::Argument<T>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::ArgumentListEnd, ink_env::call::utils::ArgumentListEnd>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::Argument<Head>, Rest>
[INFO] [stdout]               ink_env::call::ExecutionInput<Args>
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]             and 100 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_MessageDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_MessageDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_MessageDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `DecodeDispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch`
[INFO] [stdout]     = note: `DecodeDispatch` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_MessageDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_MessageDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_MessageDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `ink_lang::reflect::ContractMessageDecoder::Type`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:429:16
[INFO] [stdout]     |
[INFO] [stdout] 429 |     type Type: scale::Decode + ExecuteDispatchable;
[INFO] [stdout]     |                ^^^^^^^^^^^^^ required by this bound in `ContractMessageDecoder::Type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout]     = note: this error originates in the attribute macro `ink::contract` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Encode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::utils::Argument<T>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::ArgumentListEnd, ink_env::call::utils::ArgumentListEnd>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::Argument<Head>, Rest>
[INFO] [stdout]               ink_env::call::ExecutionInput<Args>
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]             and 100 others
[INFO] [stdout]     = note: this error originates in the attribute macro `ink::contract` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_EventBase: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `__ink_EventBase`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ----------------
[INFO] [stdout]     | |
[INFO] [stdout]     | one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     | this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_EventBase` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `ink_env::emit_event`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/api.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn emit_event<T, Event>(event: Event)
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 177 |     Event: Topics + scale::Encode,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ required by this bound in `emit_event`
[INFO] [stdout]     = note: this error originates in the attribute macro `ink::contract` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout] 19  | /     pub struct Transfer {
[INFO] [stdout] 20  | |         #[ink(topic)]
[INFO] [stdout] 21  | |         from: AccountId,
[INFO] [stdout]     | |         --------------- required by a bound introduced by this call
[INFO] [stdout] 22  | |         #[ink(topic)]
[INFO] [stdout] 23  | |         to: AccountId,
[INFO] [stdout] 24  | |         value: Balance
[INFO] [stdout] 25  | |     }
[INFO] [stdout]     | |_____^ the trait `WrapperTypeEncode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `Encode`
[INFO] [stdout] note: required by a bound in `push`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |     fn push<V: Encode + ?Sized>(&mut self, value: &V) {
[INFO] [stdout]     |                ^^^^^^ required by this bound in `Output::push`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:21:15
[INFO] [stdout]     |
[INFO] [stdout] 21  |         from: AccountId,
[INFO] [stdout]     |               ^^^^^^^^^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:23:13
[INFO] [stdout]     |
[INFO] [stdout] 23  |         to: AccountId,
[INFO] [stdout]     |             ^^^^^^^^^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Erc20Ref: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:16
[INFO] [stdout]     |
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |                ^^^^^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `Erc20Ref`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |     ---------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `Erc20Ref` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Decode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]               ink_env::AccountId
[INFO] [stdout]               ink_env::Hash
[INFO] [stdout]               ink_primitives::Key
[INFO] [stdout]               scale_info::interner::UntrackedSymbol<T>
[INFO] [stdout]             and 93 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Erc20Ref: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:16
[INFO] [stdout]     |
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |                ^^^^^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `Erc20Ref`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  |     pub struct Erc20 {
[INFO] [stdout]     |     ---------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `Erc20Ref` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `PackedLayout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout`
[INFO] [stdout]     = note: `PackedLayout` is a "sealed trait", because to implement it you also need to implement `parity_scale_codec::codec::Encode`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it
[INFO] [stdout]     = help: the following types implement the trait:
[INFO] [stdout]               ink_env::call::utils::Argument<T>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::ArgumentListEnd, ink_env::call::utils::ArgumentListEnd>
[INFO] [stdout]               ink_env::call::utils::ArgumentList<ink_env::call::utils::Argument<Head>, Rest>
[INFO] [stdout]               ink_env::call::ExecutionInput<Args>
[INFO] [stdout]               ink_env::call::Selector
[INFO] [stdout]               ink_env::test::CallData
[INFO] [stdout]               ink_env::engine::off_chain::chain_extension::ExtensionId
[INFO] [stdout]               ink_env::test::ContractTerminationResult<E>
[INFO] [stdout]             and 100 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_ConstructorDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_ConstructorDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_ConstructorDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `decode_dispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch::decode_dispatch`
[INFO] [stdout] 654 |     fn decode_dispatch<I: scale::Input>(input: &mut I) -> Result<Self, DispatchError>;
[INFO] [stdout]     |        --------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `I: parity_scale_codec::codec::Input` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::Input` is not implemented for `I`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `decode_dispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:654:27
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn decode_dispatch<I: scale::Input>(input: &mut I) -> Result<Self, DispatchError>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^ required by this bound in `DecodeDispatch::decode_dispatch`
[INFO] [stdout] help: consider further restricting type parameter `I` with trait `Input`
[INFO] [stdout]     |
[INFO] [stdout] 16  |     } + parity_scale_codec::codec::Input
[INFO] [stdout]     |       ++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::_parity_scale_codec::Error: From<DispatchError>` is not satisfied
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^ the trait `From<DispatchError>` is not implemented for `erc20::_::_parity_scale_codec::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `erc20::_::_parity_scale_codec::Error` implements `From<&str>`
[INFO] [stdout]              `erc20::_::_parity_scale_codec::Error` implements `From<std::io::Error>`
[INFO] [stdout]    = note: required for `DispatchError` to implement `Into<erc20::_::_parity_scale_codec::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_EventBase: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `__ink_EventBase`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ----------------
[INFO] [stdout]     | |
[INFO] [stdout]     | one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     | this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_EventBase` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `ink_env::emit_event`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/api.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub fn emit_event<T, Event>(event: Event)
[INFO] [stdout]     |        ---------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 177 |     Event: Topics + scale::Encode,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ required by this bound in `emit_event`
[INFO] [stdout]     = note: this error originates in the attribute macro `ink::contract` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:60:9
[INFO] [stdout]     |
[INFO] [stdout] 60  | /         /// 查询账户余额
[INFO] [stdout] 61  | |         #[ink(message)]
[INFO] [stdout] 62  | |         pub fn balance_of(&self, owner: AccountId) -> Balance {
[INFO] [stdout] 63  | |             *self.balances.get(&owner).unwrap_or(&0)
[INFO] [stdout] 64  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, u128): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:66:9
[INFO] [stdout]     |
[INFO] [stdout] 66  | /         /// 设置spender 账户可以转账的额度 value
[INFO] [stdout] 67  | |         #[ink(message)]
[INFO] [stdout] 68  | |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 69  | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 73  | |             Ok(())
[INFO] [stdout] 74  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, u128)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:19:5
[INFO] [stdout]     |
[INFO] [stdout] 19  | /     pub struct Transfer {
[INFO] [stdout] 20  | |         #[ink(topic)]
[INFO] [stdout] 21  | |         from: AccountId,
[INFO] [stdout]     | |         --------------- required by a bound introduced by this call
[INFO] [stdout] 22  | |         #[ink(topic)]
[INFO] [stdout] 23  | |         to: AccountId,
[INFO] [stdout] 24  | |         value: Balance
[INFO] [stdout] 25  | |     }
[INFO] [stdout]     | |_____^ the trait `WrapperTypeEncode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `Encode`
[INFO] [stdout] note: required by a bound in `push`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:220:13
[INFO] [stdout]     |
[INFO] [stdout] 220 |     fn push<V: Encode + ?Sized>(&mut self, value: &V) {
[INFO] [stdout]     |                ^^^^^^ required by this bound in `Output::push`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, ink_env::AccountId): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:76:9
[INFO] [stdout]     |
[INFO] [stdout] 76  | /         /// 操作账户 额度
[INFO] [stdout] 77  | |         #[ink(message)]
[INFO] [stdout] 78  | |         pub fn allowance_of(&self, owner: AccountId, spender: AccountId) -> Balance {
[INFO] [stdout] 79  | |             *self.allowance.get(&(owner, spender)).unwrap_or( &0)
[INFO] [stdout] 80  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, ink_env::AccountId)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, u128): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  | /         /// 转账
[INFO] [stdout] 83  | |         #[ink(message)]
[INFO] [stdout] 84  | |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 85  | |             let who = self.env().caller();
[INFO] [stdout] 86  | |             self.transfer_help(who, to, value)
[INFO] [stdout] 87  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, u128)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:21:15
[INFO] [stdout]     |
[INFO] [stdout] 21  |         from: AccountId,
[INFO] [stdout]     |               ^^^^^^^^^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, ink_env::AccountId, u128): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | /         /// 操作 from 账户转账
[INFO] [stdout] 109 | |         #[ink(message)]
[INFO] [stdout] 110 | |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 111 | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             self.transfer_help(from, to, value)
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, ink_env::AccountId, u128)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:23:13
[INFO] [stdout]     |
[INFO] [stdout] 23  |         to: AccountId,
[INFO] [stdout]     |             ^^^^^^^^^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_MessageDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_MessageDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_MessageDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `decode_dispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch::decode_dispatch`
[INFO] [stdout] 654 |     fn decode_dispatch<I: scale::Input>(input: &mut I) -> Result<Self, DispatchError>;
[INFO] [stdout]     |        --------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_ConstructorDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_ConstructorDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_ConstructorDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `decode_dispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch::decode_dispatch`
[INFO] [stdout] 654 |     fn decode_dispatch<I: scale::Input>(input: &mut I) -> Result<Self, DispatchError>;
[INFO] [stdout]     |        --------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `I: parity_scale_codec::codec::Input` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::Input` is not implemented for `I`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `decode_dispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:654:27
[INFO] [stdout]     |
[INFO] [stdout] 654 |     fn decode_dispatch<I: scale::Input>(input: &mut I) -> Result<Self, DispatchError>;
[INFO] [stdout]     |                           ^^^^^^^^^^^^ required by this bound in `DecodeDispatch::decode_dispatch`
[INFO] [stdout] help: consider further restricting type parameter `I` with trait `Input`
[INFO] [stdout]     |
[INFO] [stdout] 16  |     } + parity_scale_codec::codec::Input
[INFO] [stdout]     |       ++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::_parity_scale_codec::Error: From<DispatchError>` is not satisfied
[INFO] [stdout]   --> lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | /     pub struct Erc20 {
[INFO] [stdout] 12 | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13 | |         total_supply: Balance,
[INFO] [stdout] 14 | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15 | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16 | |     }
[INFO] [stdout]    | |_____^ the trait `From<DispatchError>` is not implemented for `erc20::_::_parity_scale_codec::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `erc20::_::_parity_scale_codec::Error` implements `From<&str>`
[INFO] [stdout]              `erc20::_::_parity_scale_codec::Error` implements `From<std::io::Error>`
[INFO] [stdout]    = note: required for `DispatchError` to implement `Into<erc20::_::_parity_scale_codec::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:66:9
[INFO] [stdout]     |
[INFO] [stdout] 66  | /         /// 设置spender 账户可以转账的额度 value
[INFO] [stdout] 67  | |         #[ink(message)]
[INFO] [stdout] 68  | |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 69  | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 73  | |             Ok(())
[INFO] [stdout] 74  | |         }
[INFO] [stdout]     | |_________^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `finalize_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/execution.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn finalize_message<Contract, R>(
[INFO] [stdout]     |        ---------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 354 |     R: scale::Encode + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `finalize_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  | /         /// 转账
[INFO] [stdout] 83  | |         #[ink(message)]
[INFO] [stdout] 84  | |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 85  | |             let who = self.env().caller();
[INFO] [stdout] 86  | |             self.transfer_help(who, to, value)
[INFO] [stdout] 87  | |         }
[INFO] [stdout]     | |_________^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `finalize_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/execution.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn finalize_message<Contract, R>(
[INFO] [stdout]     |        ---------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 354 |     R: scale::Encode + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `finalize_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:60:9
[INFO] [stdout]     |
[INFO] [stdout] 60  | /         /// 查询账户余额
[INFO] [stdout] 61  | |         #[ink(message)]
[INFO] [stdout] 62  | |         pub fn balance_of(&self, owner: AccountId) -> Balance {
[INFO] [stdout] 63  | |             *self.balances.get(&owner).unwrap_or(&0)
[INFO] [stdout] 64  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | /         /// 操作 from 账户转账
[INFO] [stdout] 109 | |         #[ink(message)]
[INFO] [stdout] 110 | |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 111 | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             self.transfer_help(from, to, value)
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `finalize_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/execution.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn finalize_message<Contract, R>(
[INFO] [stdout]     |        ---------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 354 |     R: scale::Encode + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `finalize_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, u128): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:66:9
[INFO] [stdout]     |
[INFO] [stdout] 66  | /         /// 设置spender 账户可以转账的额度 value
[INFO] [stdout] 67  | |         #[ink(message)]
[INFO] [stdout] 68  | |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 69  | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 73  | |             Ok(())
[INFO] [stdout] 74  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, u128)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, ink_env::AccountId): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:76:9
[INFO] [stdout]     |
[INFO] [stdout] 76  | /         /// 操作账户 额度
[INFO] [stdout] 77  | |         #[ink(message)]
[INFO] [stdout] 78  | |         pub fn allowance_of(&self, owner: AccountId, spender: AccountId) -> Balance {
[INFO] [stdout] 79  | |             *self.allowance.get(&(owner, spender)).unwrap_or( &0)
[INFO] [stdout] 80  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, ink_env::AccountId)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_ConstructorDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_ConstructorDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_ConstructorDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `decode_input`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/api.rs:366:8
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn decode_input<T>() -> Result<T>
[INFO] [stdout]     |        ------------ required by a bound in this function
[INFO] [stdout] 365 | where
[INFO] [stdout] 366 |     T: scale::Decode,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `decode_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, u128): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  | /         /// 转账
[INFO] [stdout] 83  | |         #[ink(message)]
[INFO] [stdout] 84  | |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 85  | |             let who = self.env().caller();
[INFO] [stdout] 86  | |             self.transfer_help(who, to, value)
[INFO] [stdout] 87  | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, u128)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(ink_env::AccountId, ink_env::AccountId, u128): erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | /         /// 操作 from 账户转账
[INFO] [stdout] 109 | |         #[ink(message)]
[INFO] [stdout] 110 | |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 111 | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             self.transfer_help(from, to, value)
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^ the trait `erc20::_::_parity_scale_codec::Decode` is not implemented for `(ink_env::AccountId, ink_env::AccountId, u128)`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:304:1
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub trait Decode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_MessageDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_MessageDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_MessageDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `decode_input`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/api.rs:366:8
[INFO] [stdout]     |
[INFO] [stdout] 364 | pub fn decode_input<T>() -> Result<T>
[INFO] [stdout]     |        ------------ required by a bound in this function
[INFO] [stdout] 365 | where
[INFO] [stdout] 366 |     T: scale::Decode,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `decode_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `__ink_MessageDecoder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `__ink_MessageDecoder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `__ink_MessageDecoder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `decode_dispatch`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/reflect/dispatch.rs:653:27
[INFO] [stdout]     |
[INFO] [stdout] 653 | pub trait DecodeDispatch: scale::Decode {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ required by this bound in `DecodeDispatch::decode_dispatch`
[INFO] [stdout] 654 |     fn decode_dispatch<I: scale::Input>(input: &mut I) -> Result<Self, DispatchError>;
[INFO] [stdout]     |        --------------- required by a bound in this associated function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:68:80
[INFO] [stdout]     |
[INFO] [stdout] 68  |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                ^^^^^^^^^^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `DispatchOutput`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/type_check.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct DispatchOutput<T>(T)
[INFO] [stdout]     |            -------------- required by a bound in this struct
[INFO] [stdout] 68  | where
[INFO] [stdout] 69  |     T: scale::Encode + 'static;
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `DispatchOutput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:84:70
[INFO] [stdout]     |
[INFO] [stdout] 84  |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `DispatchOutput`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/type_check.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct DispatchOutput<T>(T)
[INFO] [stdout]     |            -------------- required by a bound in this struct
[INFO] [stdout] 68  | where
[INFO] [stdout] 69  |     T: scale::Encode + 'static;
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `DispatchOutput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `DispatchOutput`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/type_check.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct DispatchOutput<T>(T)
[INFO] [stdout]     |            -------------- required by a bound in this struct
[INFO] [stdout] 68  | where
[INFO] [stdout] 69  |     T: scale::Encode + 'static;
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `DispatchOutput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&ink_env::AccountId: Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `WrapperTypeEncode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `Encode`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&ink_env::AccountId` to implement `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:66:9
[INFO] [stdout]     |
[INFO] [stdout] 66  | /         /// 设置spender 账户可以转账的额度 value
[INFO] [stdout] 67  | |         #[ink(message)]
[INFO] [stdout] 68  | |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 69  | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 73  | |             Ok(())
[INFO] [stdout] 74  | |         }
[INFO] [stdout]     | |_________^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `finalize_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/execution.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn finalize_message<Contract, R>(
[INFO] [stdout]     |        ---------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 354 |     R: scale::Encode + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `finalize_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  | /         /// 转账
[INFO] [stdout] 83  | |         #[ink(message)]
[INFO] [stdout] 84  | |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 85  | |             let who = self.env().caller();
[INFO] [stdout] 86  | |             self.transfer_help(who, to, value)
[INFO] [stdout] 87  | |         }
[INFO] [stdout]     | |_________^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `finalize_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/execution.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn finalize_message<Contract, R>(
[INFO] [stdout]     |        ---------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 354 |     R: scale::Encode + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `finalize_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____the trait `TypeInfo` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |       required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/lib.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 |   pub struct AccountId([u8; 32]);
[INFO] [stdout]     |   -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/form.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout] 50  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `FieldsBuilder::<NamedFields>::field_of`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/build.rs:242:6
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub fn field_of<T>(mut self, name: &'static str) -> Self
[INFO] [stdout]     |            -------- required by a bound in this associated function
[INFO] [stdout] 241 |     where
[INFO] [stdout] 242 |         T: TypeInfo + ?Sized + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `FieldsBuilder::<NamedFields>::field_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `pull_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::pull_packed`
[INFO] [stdout] ...
[INFO] [stdout] 42  |     fn pull_packed(&mut self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | /         /// 操作 from 账户转账
[INFO] [stdout] 109 | |         #[ink(message)]
[INFO] [stdout] 110 | |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 111 | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             self.transfer_help(from, to, value)
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `finalize_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/execution.rs:354:8
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub fn finalize_message<Contract, R>(
[INFO] [stdout]     |        ---------------- required by a bound in this function
[INFO] [stdout] ...
[INFO] [stdout] 354 |     R: scale::Encode + 'static,
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `finalize_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `pull_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::pull_packed`
[INFO] [stdout] ...
[INFO] [stdout] 42  |     fn pull_packed(&mut self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:68:80
[INFO] [stdout]     |
[INFO] [stdout] 68  |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                ^^^^^^^^^^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `DispatchOutput`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/type_check.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct DispatchOutput<T>(T)
[INFO] [stdout]     |            -------------- required by a bound in this struct
[INFO] [stdout] 68  | where
[INFO] [stdout] 69  |     T: scale::Encode + 'static;
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `DispatchOutput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `push_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::push_packed`
[INFO] [stdout] ...
[INFO] [stdout] 51  |     fn push_packed(&self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `push_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::push_packed`
[INFO] [stdout] ...
[INFO] [stdout] 51  |     fn push_packed(&self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:84:70
[INFO] [stdout]     |
[INFO] [stdout] 84  |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `DispatchOutput`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/type_check.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct DispatchOutput<T>(T)
[INFO] [stdout]     |            -------------- required by a bound in this struct
[INFO] [stdout] 68  | where
[INFO] [stdout] 69  |     T: scale::Encode + 'static;
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `DispatchOutput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ the trait `parity_scale_codec::codec::Encode` is not implemented for `std::result::Result<(), erc20::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub trait Encode {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]    --> /rustc/a2a6e871b05c7b8ecc9a3c8a20db1f39e995e399/library/core/src/result.rs:548:1
[INFO] [stdout]     |
[INFO] [stdout]     = note: this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `DispatchOutput`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_lang-3.0.0-rc8/src/codegen/dispatch/type_check.rs:69:8
[INFO] [stdout]     |
[INFO] [stdout] 67  | pub struct DispatchOutput<T>(T)
[INFO] [stdout]     |            -------------- required by a bound in this struct
[INFO] [stdout] 68  | where
[INFO] [stdout] 69  |     T: scale::Encode + 'static;
[INFO] [stdout]     |        ^^^^^^^^^^^^^ required by this bound in `DispatchOutput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `clear_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::clear_packed`
[INFO] [stdout] ...
[INFO] [stdout] 60  |     fn clear_packed(&self, at: &Key);
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `clear_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::clear_packed`
[INFO] [stdout] ...
[INFO] [stdout] 60  |     fn clear_packed(&self, at: &Key);
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `&ink_env::AccountId: Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `WrapperTypeEncode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:333:1
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `Encode`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `&ink_env::AccountId` to implement `Encode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: erc20::_::_parity_scale_codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `erc20::_::_parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:401:1
[INFO] [stdout]     |
[INFO] [stdout] 401 | pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   | use ink_lang as ink;
[INFO] [stdout]     |     -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   | #[ink::contract]
[INFO] [stdout]     | ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct AccountId([u8; 32]);
[INFO] [stdout]     | -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout] 64  | pub trait Input {
[INFO] [stdout]     | --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `ink_env::AccountId` to implement `erc20::_::_parity_scale_codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ink_env::AccountId: TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____the trait `TypeInfo` is not implemented for `ink_env::AccountId`
[INFO] [stdout]     |       required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/lib.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_env-3.0.0-rc8/src/types.rs:219:1
[INFO] [stdout]     |
[INFO] [stdout] 219 |   pub struct AccountId([u8; 32]);
[INFO] [stdout]     |   -------------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/form.rs:50:1
[INFO] [stdout]     |
[INFO] [stdout] 50  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout] note: required by a bound in `FieldsBuilder::<NamedFields>::field_of`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/build.rs:242:6
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub fn field_of<T>(mut self, name: &'static str) -> Self
[INFO] [stdout]     |            -------- required by a bound in this associated function
[INFO] [stdout] 241 |     where
[INFO] [stdout] 242 |         T: TypeInfo + ?Sized + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `FieldsBuilder::<NamedFields>::field_of`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `pull_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::pull_packed`
[INFO] [stdout] ...
[INFO] [stdout] 42  |     fn pull_packed(&mut self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `pull_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::pull_packed`
[INFO] [stdout] ...
[INFO] [stdout] 42  |     fn pull_packed(&mut self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fire` exists for struct `CallBuilder<DefaultEnvironment, Set<AccountId>, ..., ..., ..., ...>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> lib.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | /         /// 设置spender 账户可以转账的额度 value
[INFO] [stdout] 67 | |         #[ink(message)]
[INFO] [stdout] 68 | |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 69 | |             let sender = self.env().caller();
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |             Ok(())
[INFO] [stdout] 74 | |         }
[INFO] [stdout]    | |_________^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `push_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::push_packed`
[INFO] [stdout] ...
[INFO] [stdout] 51  |     fn push_packed(&self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `push_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::push_packed`
[INFO] [stdout] ...
[INFO] [stdout] 51  |     fn push_packed(&self, at: &Key);
[INFO] [stdout]     |        ----------- required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fire` exists for struct `CallBuilder<DefaultEnvironment, Set<AccountId>, ..., ..., ..., ...>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> lib.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         /// 转账
[INFO] [stdout] 83 | |         #[ink(message)]
[INFO] [stdout] 84 | |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 85 | |             let who = self.env().caller();
[INFO] [stdout] 86 | |             self.transfer_help(who, to, value)
[INFO] [stdout] 87 | |         }
[INFO] [stdout]    | |_________^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Encode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeEncode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:326:1
[INFO] [stdout]     |
[INFO] [stdout] 326 |   pub trait WrapperTypeEncode: Deref {}
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Encode`
[INFO] [stdout] note: required by a bound in `clear_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:40
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::clear_packed`
[INFO] [stdout] ...
[INFO] [stdout] 60  |     fn clear_packed(&self, at: &Key);
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fire` exists for struct `CallBuilder<DefaultEnvironment, Set<AccountId>, ..., ..., ..., ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | /         /// 操作 from 账户转账
[INFO] [stdout] 109 | |         #[ink(message)]
[INFO] [stdout] 110 | |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 111 | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             self.transfer_help(from, to, value)
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::_::CallBuilder: parity_scale_codec::codec::Decode` is not satisfied
[INFO] [stdout]    --> lib.rs:11:5
[INFO] [stdout]     |
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____^ the trait `parity_scale_codec::codec::WrapperTypeDecode` is not implemented for `erc20::_::CallBuilder`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `parity_scale_codec` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-2.3.1/src/codec.rs:394:1
[INFO] [stdout]     |
[INFO] [stdout] 394 |   pub trait WrapperTypeDecode: Sized {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `parity_scale_codec` used here, as a dependency of crate `scale_info`
[INFO] [stdout] 4   |
[INFO] [stdout] 5   |   #[ink::contract]
[INFO] [stdout]     |   ---------------- one version of crate `parity_scale_codec` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/parity-scale-codec-1.3.7/src/codec.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 |   pub trait Input {
[INFO] [stdout]     |   --------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `erc20::_::CallBuilder` to implement `parity_scale_codec::codec::Decode`
[INFO] [stdout] note: required by a bound in `clear_packed`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_storage-3.0.0-rc8/src/traits/packed.rs:34:56
[INFO] [stdout]     |
[INFO] [stdout] 34  | pub trait PackedLayout: SpreadLayout + scale::Encode + scale::Decode {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ required by this bound in `PackedLayout::clear_packed`
[INFO] [stdout] ...
[INFO] [stdout] 60  |     fn clear_packed(&self, at: &Key);
[INFO] [stdout]     |        ------------ required by a bound in this associated function
[INFO] [stdout]     = note: this error originates in the derive macro `::ink_storage::traits::PackedLayout` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::Error: scale_info::TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:68:80
[INFO] [stdout]     |
[INFO] [stdout] 68  |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                ^^^^^^^^^^ the trait `scale_info::TypeInfo` is not implemented for `erc20::Error`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/lib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 29  |       pub enum Error {
[INFO] [stdout]     |       -------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/form.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `std::result::Result<(), erc20::Error>` to implement `scale_info::TypeInfo`
[INFO] [stdout] note: required by a bound in `TypeSpec::with_name_segs`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_metadata-3.0.0-rc8/src/specs.rs:847:12
[INFO] [stdout]     |
[INFO] [stdout] 845 |     pub fn with_name_segs<T, S>(segments: S) -> Self
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 846 |     where
[INFO] [stdout] 847 |         T: TypeInfo + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `TypeSpec::with_name_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::Error: scale_info::TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:84:70
[INFO] [stdout]     |
[INFO] [stdout] 84  |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ the trait `scale_info::TypeInfo` is not implemented for `erc20::Error`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/lib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 29  |       pub enum Error {
[INFO] [stdout]     |       -------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/form.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `std::result::Result<(), erc20::Error>` to implement `scale_info::TypeInfo`
[INFO] [stdout] note: required by a bound in `TypeSpec::with_name_segs`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_metadata-3.0.0-rc8/src/specs.rs:847:12
[INFO] [stdout]     |
[INFO] [stdout] 845 |     pub fn with_name_segs<T, S>(segments: S) -> Self
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 846 |     where
[INFO] [stdout] 847 |         T: TypeInfo + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `TypeSpec::with_name_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fire` exists for struct `CallBuilder<DefaultEnvironment, Set<AccountId>, ..., ..., ..., ...>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> lib.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | /         /// 设置spender 账户可以转账的额度 value
[INFO] [stdout] 67 | |         #[ink(message)]
[INFO] [stdout] 68 | |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 69 | |             let sender = self.env().caller();
[INFO] [stdout] ...  |
[INFO] [stdout] 73 | |             Ok(())
[INFO] [stdout] 74 | |         }
[INFO] [stdout]    | |_________^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::Error: scale_info::TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ the trait `scale_info::TypeInfo` is not implemented for `erc20::Error`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/lib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 29  |       pub enum Error {
[INFO] [stdout]     |       -------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/form.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `std::result::Result<(), erc20::Error>` to implement `scale_info::TypeInfo`
[INFO] [stdout] note: required by a bound in `TypeSpec::with_name_segs`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_metadata-3.0.0-rc8/src/specs.rs:847:12
[INFO] [stdout]     |
[INFO] [stdout] 845 |     pub fn with_name_segs<T, S>(segments: S) -> Self
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 846 |     where
[INFO] [stdout] 847 |         T: TypeInfo + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `TypeSpec::with_name_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fire` exists for struct `CallBuilder<DefaultEnvironment, Set<AccountId>, ..., ..., ..., ...>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> lib.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | /         /// 转账
[INFO] [stdout] 83 | |         #[ink(message)]
[INFO] [stdout] 84 | |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 85 | |             let who = self.env().caller();
[INFO] [stdout] 86 | |             self.transfer_help(who, to, value)
[INFO] [stdout] 87 | |         }
[INFO] [stdout]    | |_________^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `fire` exists for struct `CallBuilder<DefaultEnvironment, Set<AccountId>, ..., ..., ..., ...>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> lib.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | /         /// 操作 from 账户转账
[INFO] [stdout] 109 | |         #[ink(message)]
[INFO] [stdout] 110 | |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout] 111 | |             let sender = self.env().caller();
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |             self.transfer_help(from, to, value)
[INFO] [stdout] 120 | |         }
[INFO] [stdout]     | |_________^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `std::result::Result<(), erc20::Error>: parity_scale_codec::codec::Decode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::Error: scale_info::TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:68:80
[INFO] [stdout]     |
[INFO] [stdout] 68  |         pub fn set_allowance(&mut self, spender: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                ^^^^^^^^^^ the trait `scale_info::TypeInfo` is not implemented for `erc20::Error`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/lib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 29  |       pub enum Error {
[INFO] [stdout]     |       -------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/form.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `std::result::Result<(), erc20::Error>` to implement `scale_info::TypeInfo`
[INFO] [stdout] note: required by a bound in `TypeSpec::with_name_segs`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_metadata-3.0.0-rc8/src/specs.rs:847:12
[INFO] [stdout]     |
[INFO] [stdout] 845 |     pub fn with_name_segs<T, S>(segments: S) -> Self
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 846 |     where
[INFO] [stdout] 847 |         T: TypeInfo + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `TypeSpec::with_name_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::Error: scale_info::TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:84:70
[INFO] [stdout]     |
[INFO] [stdout] 84  |         pub fn transfer(&mut self, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ the trait `scale_info::TypeInfo` is not implemented for `erc20::Error`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/lib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 29  |       pub enum Error {
[INFO] [stdout]     |       -------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/form.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `std::result::Result<(), erc20::Error>` to implement `scale_info::TypeInfo`
[INFO] [stdout] note: required by a bound in `TypeSpec::with_name_segs`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_metadata-3.0.0-rc8/src/specs.rs:847:12
[INFO] [stdout]     |
[INFO] [stdout] 845 |     pub fn with_name_segs<T, S>(segments: S) -> Self
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 846 |     where
[INFO] [stdout] 847 |         T: TypeInfo + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `TypeSpec::with_name_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `erc20::Error: scale_info::TypeInfo` is not satisfied
[INFO] [stdout]    --> lib.rs:110:91
[INFO] [stdout]     |
[INFO] [stdout] 110 |         pub fn trasfer_from(&mut self, from: AccountId, to: AccountId, value: Balance) -> Result<()> {
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ the trait `scale_info::TypeInfo` is not implemented for `erc20::Error`
[INFO] [stdout]     |
[INFO] [stdout] note: there are multiple different versions of crate `scale_info` in the dependency graph
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-1.0.0/src/lib.rs:346:1
[INFO] [stdout]     |
[INFO] [stdout] 346 |   pub trait TypeInfo {
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^ this is the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: lib.rs:3:5
[INFO] [stdout]     |
[INFO] [stdout] 3   |   use ink_lang as ink;
[INFO] [stdout]     |       -------- one version of crate `scale_info` used here, as a dependency of crate `ink_primitives`
[INFO] [stdout] ...
[INFO] [stdout] 11  | /     pub struct Erc20 {
[INFO] [stdout] 12  | |         /// Stores a single `bool` value on the storage.
[INFO] [stdout] 13  | |         total_supply: Balance,
[INFO] [stdout] 14  | |         balances: StorageHashMap<AccountId, Balance>,
[INFO] [stdout] 15  | |         allowance: StorageHashMap<(AccountId, AccountId), Balance>,
[INFO] [stdout] 16  | |     }
[INFO] [stdout]     | |_____- one version of crate `scale_info` used here, as a direct dependency of the current crate
[INFO] [stdout] ...
[INFO] [stdout] 29  |       pub enum Error {
[INFO] [stdout]     |       -------------- this type doesn't implement the required trait
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/scale-info-0.4.1/src/form.rs:42:1
[INFO] [stdout]     |
[INFO] [stdout] 42  |   pub trait Form {
[INFO] [stdout]     |   -------------- this is the found trait
[INFO] [stdout]     = help: you can use `cargo tree` to explore your dependency tree
[INFO] [stdout]     = note: required for `std::result::Result<(), erc20::Error>` to implement `scale_info::TypeInfo`
[INFO] [stdout] note: required by a bound in `TypeSpec::with_name_segs`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ink_metadata-3.0.0-rc8/src/specs.rs:847:12
[INFO] [stdout]     |
[INFO] [stdout] 845 |     pub fn with_name_segs<T, S>(segments: S) -> Self
[INFO] [stdout]     |            -------------- required by a bound in this associated function
[INFO] [stdout] 846 |     where
[INFO] [stdout] 847 |         T: TypeInfo + 'static,
[INFO] [stdout]     |            ^^^^^^^^ required by this bound in `TypeSpec::with_name_segs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0276, E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0276`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `erc20` (lib) due to 45 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0276, E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0276`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `erc20` (lib test) due to 43 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b81e0c1be7b89f507793b5c344d114549e6a56f4b8e5ec6da9dd2179f13f8a21", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b81e0c1be7b89f507793b5c344d114549e6a56f4b8e5ec6da9dd2179f13f8a21", kill_on_drop: false }`
[INFO] [stdout] b81e0c1be7b89f507793b5c344d114549e6a56f4b8e5ec6da9dd2179f13f8a21
